The Dynamic Host Configuration Protocol (DHCP) provides a mechanism through which computers using TCP/IP can obtain protocol configuration parameters automatically through the network. DHCP is an open standard, developed by the Dynamic Host Configuration Working Group of the Internet Engineering Task Force (IETF). DHCP is based on a client-server paradigm, in which the DHCP client, e.g., a desktop computer, contacts a DHCP server for configuration parameters. The DHCP server is typically centrally located and operated by a network administrator. Because the server is run by a network administrator, DHCP clients can be reliably and dynamically configured with parameters appropriate for the current network architecture.
The most important configuration parameter carried by DHCP is the IP address. A computer must be initially assigned a specific IP address that is appropriate to the network to which the computer is attached, and that is not assigned to any other computer on that network. If a computer moves to a new network, it must be assigned a new IP address for that new network. DHCP can be used to manage these assignments automatically. DHCP carries other important configuration parameters such as the subnet mask, address of default router, addresses of domain name system (DNS) servers, addresses of time servers, etc. Using DHCP, a network administrator can avoid “hands on” configuration of the individual computers through complex and confusing set up applications. Instead, those computers can obtain all required configuration parameters automatically, without manual intervention, from a centrally managed DHCP server.
The DHCP server can be used to configure a DHCP client machine with two types of IP addresses. The first type of IP address, a dynamic address, is an address assigned to a client machine from a pool of addresses maintained by the DHCP server. These dynamic addresses are dynamic in that any address from the pool could get assigned to any particular client machine. The second type of address is a non-static reserved address. This type is an address that is reserved for a Media Access Control (MAC) address or some other client specific identifier. When a client machine sends that identifier; the assigned address is provided to it. Both of these types of addresses are assigned a lease time (lifetime) by the DHCP server. The lease on these addresses needs to be renewed by the client machine in order for them to stay valid. If the address leases are not renewed, the lease expires on the client and server, at which point the DHCP server reclaims the address and places it back in the pool for reuse for any other client machine.
While DHCP provides a centralized approach for a network administrator to assign and reclaim these dynamic and non-static reserve addresses, it does not provide for a mechanism to assign and reclaim static addresses for machines that need to be given addresses that never expire. Such machines, such as mission critical servers, are required to maintain their UP address unless and until a network administrator takes some manual action to provide for such change. This type of fixed address with no expiration time is referred to as a static or a permanent IP address. While the existence of such static or permanent IP addresses are mentioned in the DHCP Request For Comment (RFC)2131, it is silent on how the address, once assigned, can be reclaimed by a network administrator through the DHCP server. As such, the current DHCP protocol does not allow for reclaiming such addresses.
Not having a central control for static addresses makes the task of the network administrator very cumbersome, especially if there are many machines that need to be statically configured. In such a situation the network administrator is forced to physically go to each machine and assign/remove the static address therefrom. The administration must maintain a master list of statically assigned IP addresses so that these static addresses are not inadvertently assigned to two different machines, which would cause an address conflict. Such an address conflict will result in the disablement of one or both of the machines from communicating on the network.
While it is possible for a network administrator to assign a long lease time to a network client machine to effectively result in a pseudo-permanent assignment of the IP address, such a long lease time effectively removes the ability of the DHCP server in the network administrator from reclaiming that address until expiration of this lease time. This is problematic in a situation where the network administrator needs to reclaim the pseudo-permanent IP address prior to expiration of the lease time. The result is that this pseudo-permanent IP address is effectively removed from the network administrator's control until the expiration of the long lease time. If the network machine were to be replaced this IP address would be unavailable for reassignment to the replacement client machine until the lease time were to expire. This effectively prohibits the use of this pseudo-permanent IP address for any future communication until the lease time expires and the network administrator is able to assign the address to the new machine. However, unless it can be guaranteed that the machine to be replaced has been rendered permanently non-operational on TCP/IP networks or has had its IP address changed, the DHCP administrator cannot re-assign this address to the replacement machine since the possibility of and IP conflict situation is still present. In other words, if there is any non-zero possibility of the machine coming back on the network, the DHCP cannot re-assign that IP address to any other machine. Since the number of IP addresses available to be assigned by a DHCP server is limited, such effective removal of an IP address provides a double disadvantage. First, communication with that IP address is now no longer available because of the removal of the machine to which the lease was granted, and the total number of available IP addresses for the remaining machines in the network is reduced.
There exists, therefore, a need in the art for a system and method of assigning static or permanent IP addresses through a centralized DHCP server that also provides a mechanism for the retrieval and reassignment of these static or permanent IP addresses from the centralized DHCP server at the discretion of the network administrator.